package com.itheima.server.service;


import com.itheima.common.core.domain.AjaxResult;
import com.itheima.server.domain.Activite;
import com.itheima.server.dto.ActiReportQueryDto;
import com.itheima.server.dto.ContractStatisticsDto;
import com.itheima.server.dto.PageDto;
import com.itheima.server.vo.*;

import java.time.LocalDate;
import java.util.Date;
import java.util.List;

import com.itheima.server.dto.ReportClueDto;
import com.itheima.server.vo.ActiReportQueryVO;
import com.itheima.server.vo.ReportClueVo;

import java.util.List;
import java.util.Map;

public interface ReportService {

    List<ActiReportQueryVO> activityStatisticsList(ActiReportQueryDto dto);
    List<ReportClueVo> reportClueList(ReportClueDto dto);

    List<Map<String, Object>> chanelStatistics(String beginTime, String endTime);

    List<Map<String, Object>> activityStatistics(String beginTime, String endTime);

    List<DeptContractReportVo> getdeptStatisticsList(PageDto dto, String start, String end);

    ReportClueChartVo getClueChart(Date begin, Date end);


    VulnerabilityMapVo getVulnerabilityMap(Date begin, Date end);

    /**
     * 获取合同统计列表
     * @param dto
     * @return
     */
    AjaxResult getContractStatisticsList(ContractStatisticsDto dto);

    /**
     * 获取客户统计
     * @param
     * @return
     */
    CustVo getPairdDataNewAndOldClue(Date begin, Date end);

    /**
     * 获取学科统计
     * @param
     * @return
     */
    List<SubjectStatisticsVo> getSubjectStatistics(Date begin, Date end);

    SalesStatisticsVo getSalesStatistics(String begin, String end);

    List<ChannelContractReportVo> getChannelStatisticsList(PageDto dto, String start, String end);

    List<OwnerShipContractReprtVo> getOwnerStatisticsList(PageDto dto, String start, String end);
}
